home *** CD-ROM | disk | FTP | other *** search
- class HuffmanTable {
- // $FF: renamed from: Å NODE
- NODE field_0 = new NODE();
- public static int deCode_code = 0;
-
- public boolean addNode(int var1, int var2) {
- return this.addNode(this.field_0, var1, var2);
- }
-
- public boolean addNode(NODE var1, int var2, int var3) {
- if (var2 == 1) {
- if (var1.├░ == null) {
- var1.├░ = new NODE(var3);
- return true;
- } else if (var1.├▒ == null) {
- var1.├▒ = new NODE(var3);
- return true;
- } else {
- return false;
- }
- } else if (var1.├░ == null) {
- var1.├░ = new NODE();
- return this.addNode(var1.├░, var2 - 1, var3);
- } else if (!var1.├░.├▓ && this.addNode(var1.├░, var2 - 1, var3)) {
- return true;
- } else if (var1.├▒ == null) {
- var1.├▒ = new NODE();
- return this.addNode(var1.├▒, var2 - 1, var3);
- } else {
- return !var1.├▒.├▓ ? this.addNode(var1.├▒, var2 - 1, var3) : false;
- }
- }
-
- public void clear() {
- if (this.field_0.├░ != null) {
- this.clearNode(this.field_0.├░);
- }
-
- if (this.field_0.├▒ != null) {
- this.clearNode(this.field_0.├▒);
- }
-
- this.field_0.├░ = null;
- this.field_0.├▒ = null;
- this.field_0 = null;
- }
-
- public void clearNode(NODE var1) {
- if (var1.├░ != null) {
- this.clearNode(var1.├░);
- }
-
- if (var1.├▒ != null) {
- this.clearNode(var1.├▒);
- }
-
- Object var2 = null;
- }
-
- public boolean deCode(DECODE_PARAM var1) {
- boolean var2 = false;
- NODE var3 = this.field_0;
- int var4 = var1.Â;
- int var5 = var1.Â;
- int var6 = var1.Ã;
- int var7 = var1.Á[var4];
- ++var4;
- if (var7 == 255) {
- while(var1.Á[var4] == 255) {
- ++var4;
- }
-
- if (var1.Á[var4] != 0) {
- return false;
- }
-
- ++var4;
- }
-
- var7 <<= var6;
-
- while(true) {
- var2 = false;
- if ((var7 & 128) != 0) {
- var3 = var3.├▒;
- } else {
- var3 = var3.├░;
- }
-
- ++var6;
- if (var3 == null) {
- var3 = this.field_0;
- var6 = 8;
- var2 = true;
- }
-
- if (!var2 && var3.├▓) {
- var1.Ã = var6;
- if (var6 == 8) {
- var1. = var4;
- var1.Ã = 0;
- }
-
- var1.Ä -= var1. - var5;
- deCode_code = var3.├│;
- return true;
- }
-
- if (var6 == 8) {
- var6 = 0;
- var1. = var4;
- var7 = var1.Á[var4];
- ++var4;
- if (var7 == 255) {
- while(var1.Á[var4] == 255) {
- ++var4;
- }
-
- if (var1.Á[var4] != 0) {
- var1.Ä -= var1. - var5;
- return false;
- }
-
- ++var4;
- }
- } else {
- var7 <<= 1;
- if (var7 == 123456789) {
- return true;
- }
- }
- }
- }
- }
-